package com.sanjiayi.service;

import com.sanjiayi.pojo.Follow;
import java.util.List;

public interface FollowService {
    /**
     * 关注用户
     * @param followerId 关注者ID
     * @param followedId 被关注者ID
     * @return true表示关注成功，false表示取消关注
     */
    boolean toggleFollow(Integer followerId, Integer followedId);

    /**
     * 检查是否已关注
     * @param followerId 关注者ID
     * @param followedId 被关注者ID
     * @return 是否已关注
     */
    boolean hasFollowed(Integer followerId, Integer followedId);

    /**
     * 获取用户的关注列表
     * @param userId 用户ID
     * @return 关注列表
     */
    List<Follow> getFollowingList(Integer userId);

    /**
     * 获取用户的粉丝列表
     * @param userId 用户ID
     * @return 粉丝列表
     */
    List<Follow> getFollowerList(Integer userId);

    /**
     * 获取用户的关注数量
     * @param userId 用户ID
     * @return 关注数量
     */
    int getFollowingCount(Integer userId);

    /**
     * 获取用户的粉丝数量
     * @param userId 用户ID
     * @return 粉丝数量
     */
    int getFollowerCount(Integer userId);
} 